Multi-focal length imaging based portable dataform reader

ABSTRACT

A dataform reading module includes a 2D photosensor array, a first optic for focusing a first image representing a target dataform onto a first portion of the array, and a second optic for focusing a second image representing the target dataform on a second portion of the array. Preferably, the first portion and the second portion each have a width which is substantially equal to a width of the photosensor array. The first optic has a first best focus length and the second optic has a second best focus length which is different from the first best focus length. The module further includes an illumination device, such as a laser, for illuminating the target dataform.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of commonly assigned U.S. Ser. No. 08/982,552, filed Dec. 2, 1997.

FIELD OF THE INVENTION

The present invention relates to a portable data collection device including an imaging based dataform reader and, more particularly, to a portable data collection device including an imaging based dataform reader utilizing multiple focal lengths to capture and identify an imaged dataform.

BACKGROUND OF THE INVENTION

Portable data collection devices are widely used in manufacturing, service and package delivery industries to perform a variety of on-site data collection activities. Such portable data collection devices often include integrated bar code dataform readers adapted to read bar code dataforms affixed to products, product packaging and/or containers in warehouses, retail stores, shipping terminals, etc. for inventory control, tracking, production control and expediting, quality assurance and other purposes. Various bar code dataform readers have been proposed for portable data collection devices including laser scanners and one dimensional (1D) charge coupled device (CCD) imaging assemblies, both of which are capable of reading 1D bar code dataforms, that is, bar codes consisting of a single row of contrasting black bars and white spaces of varying widths. Both laser scanners and CCD imaging assemblies are also capable of reading a “stacked” two dimensional (2D) bar code dataforms, such as PDF417, which is comprised of a plurality of adjacent rows of bar code data. The stacked 2D bar code PDF417 includes row indicator patterns utilized by the dataform reader for vertical synchronization to permit reading successive rows of bar code data.

A two dimensional (2D) imaging based dataform reader has been proposed in U.S. application Ser. No. 08/544,618, filed Oct. 18, 1995, now issued as U.S. Pat. No. 5,702,059 (the '059 patent) and entitled “Extended Working Range Dataform Reader Including Fuzzy Logic Image Control Circuitry”. The 2D dataform reader disclosed in the '059 patent, which is assigned to the assignee of the present application, includes an imaging assembly having a two dimensional array of photosensors adapted to read 2D bar code dataforms (e.g., PDF417, SuperCode, etc.) with vertical synchronization row indicator patterns as well as matrix dataforms (e.g., MaxiCode, DataMatrix, etc.) which do not include vertical synchronization patterns. The individual photosensors correspond to image picture elements or pixels of the resulting image generated with the photosensors are read out after an exposure period or periods. The 2D dataform reader disclosed in '059 patent utilizes an open loop feedback control system including fuzzy logic circuitry to determine proper exposure time and gain parameters for a camera assembly. The '059 patent is incorporated in its entirety herein by reference.

A problem associated with dataform readers in the past has been that the readers are designed to read dataforms located within a limited range from the reader. For example, a dataform reader may be designed to read dataforms located within the range of 3 inches to 12 inches from the reader. Unfortunately, oftentimes it is necessary to read a dataform which is located a greater distance away (e.g., several feet away). However, the dataform reader is unable to image the dataform satisfactorily at such range. This requires that the operator gain closer access to the dataform which at times can be inconvenient or impossible. As an example, in a warehouse an operator may have to utilize a ladder or lift in order to get close enough to a dataform on a shelf so that the dataform may be read.

In view of the aforementioned shortcomings associated with conventional dataform readers, there is a strong need in the art for a dataform reader which is capable of reading dataforms over a wider range of distances. In particular, there is a strong need for a dataform reader which quickly and accurately captures and identifies an imaged dataform at relatively low cost.

SUMMARY OF THE INVENTION

According to one aspect of the invention, a dataform reading module, is provided. The dataform reading module includes a 2D photosensor array, a first optic for focusing a first image representing a target dataform onto a first portion of the array, the first optic having a first best focus length, a second optic for focusing a second image representing the target dataform onto a second portion of the array, the second optic having a second best focus length different than the first best focus length, and an illuminating device for illuminating the target dataform.

According to another aspect of the invention, a dataform reader for reading a dataform is provided. The dataform reader includes a hand-portable sized housing, a reading module included within the housing, and means within the housing for selecting between a first image and a second image in accordance with a predefined focus criteria. The reading module includes a 2D photosensor array, a first optic for focusing a first image representing a target dataform onto a first portion of the array, the first optic having a first best focus length, a second optic for focusing a second image representing the target dataform onto a second portion of the array, the second optic having a second best focus length different than the first best focus length, and an illuminating device for illuminating the target dataform, wherein the first portion and the second portion each have a width substantially equal to a width of the array.

According to yet another aspect of the invention, a method for reading a dataform using a dataform reading module is provided. The method includes the steps of forming a first image of the dataform on a first portion of a photosensor array, the first image formed from an optic having a first best focus length from the image assembly, forming a second image of the dataform on a second portion of the photosensor array, the second image formed from an optic having a second best focus length from the image assembly which is different than the first best focus length, and wherein the first portion and the second portion each have a width substantially equal to a width of the photosensor array, and selecting between the first image and the second image in accordance with a predefined focus criteria.

According to still yet another aspect of the invention, a method for compensating for angular variations between a dataform reader and a target dataform is provided. The method includes the steps of capturing an image of the target dataform on a photosensitive array, grouping a plurality of rows of data from the photosensitive array into a plurality of adjacent row groups, each row group including at least two adjacent rows of data, summing signals representative of the data for a plurality of columns in each of the plurality of row groups, comparing the summed signals for the plurality of columns in each of the plurality of row groups, and compensating for the angular variations based on the comparison.

These and other aspects, features and advantages of the invention will become better understood from the detailed description of the preferred embodiments of the invention which are described in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a portable data collection device of the present invention;

FIG. 2 is a front elevation view of the portable data collection device of FIG. 1;

FIG. 3 is a perspective view of a modular imaging assembly of the portable data collection device of the present invention, the modular portion shown imaging a target dataform affixed to a target item;

FIG. 4 is a side elevation view of the modular imaging assembly of FIG. 3 with the upper half of the housing removed;

FIG. 5 is an exploded perspective view of the modular imaging assembly of FIG. 3;

FIG. 6 is a schematic cross-sectional view of the lens array section of the modular imaging assembly in accordance with the present invention;

FIG. 6A is a front view of the lens array section in accordance with the present invention;

FIG. 7 is a schematic illustration of a photosensor array included in the modular imaging assembly in accordance with the present invention;

FIG. 8 is an electrical block diagram of the portable data collection device of the present invention;

FIG. 9 is a flowchart representing the operation of the portable data collection device in accordance with the present invention;

FIG. 10 is a schematic illustration showing lines along which the image data generated by the respective lens assemblies is sampled and analyzed;

FIG. 11 illustrates exemplary histogram curves for use in accordance with the present invention in selecting image data exhibiting the sharpest focused image;

FIG. 12 is a schematic illustration showing the sample lines along which the selected image data is analyzed to locate the borders of the dataform;

FIG. 13, is an exploded perspective view of a dataform reader module in accordance with an alternative embodiment of the present invention;

FIG. 14 is an exploded view of an optical element of the dataform reader module of FIG. 13;

FIG. 15 is a range chart providing a comparison of the field of view and range among the lenses included within the optical element of FIG. 14;

FIGS. 16a-16 b diagrammatically illustrate an exemplary calibration step used prior to reading a dataform in accordance the present embodiment of the invention;

FIGS. 17a-17 b diagrammatically illustrate an exemplary roll processing technique in accordance with the present embodiment of the invention; and

FIG. 18 is a flowchart representing the operation of the dataform reader module in accordance with the present embodiment of the invention.

DETAILED DESCRIPTION

The present invention will now be described with reference to the drawings wherein like reference numerals are used to refer to like elements throughout.

Turning to the drawings, a portable, hand held data collection device in accordance with the present invention is shown generally at 10 in FIGS. 1 and 2. The portable data collection device includes a two dimensional (2D) photosensor array imaging assembly 18 which is capable of imaging a target dataform 45 a located within an imaging target area 44 (FIG. 3) of the imaging assembly. As will be described more fully below in connection with FIGS. 3-7, the imaging assembly 18 utilizes a novel multi-focal length imaging process for reading dataforms. This enables the data collection device to perform a dataform read at a distance over a much broader range as compared to conventional readers.

Configuration of the Portable Data Collection Device 10

The data collection device 10 includes a housing 12 defining an interior region. The housing 12 includes a gripping portion 14 sized to be grasped in the hand of an operator and an angled snout 16 extending from the gripping portion 14. With specific reference to FIGS. 1 and 2, the snout 16 includes an opening through which a portion of the imaging assembly 18 extends. The imaging assembly 18 includes a modular camera assembly 20 and a control and decoder board 22 (shown in phantom in FIG. 2) electrically coupled to electronic circuitry of the modular camera assembly 20. The control and decoder board 22 is supported within the gripping portion 14 of the housing 12. Also supported within the housing gripping portion 14 is a power source 24 (again represented in phantom in FIG. 2) such as a rechargeable battery for supplying operating power to the portable data collection device 10.

A dataform reading trigger switch or actuator 26 extends through an opening in the gripping portion 14. The dataform reading trigger 26 is positioned to be depressed by an index finger of the operator while the gripping portion 14 of the housing 12 is held in the operator's hand.

The gripping portion 14 also includes a small opening through which a distal portion of an indicator light emitting diode (LED) 32 is visible. The indicator LED 32 alternates between three colors. The color green is displayed by the indicator LED 32 when the device 10 is on standby, ready for use. The color orange is displayed with the device 10 has successfully completed an operation such as decoding a target dataform. The color red is displayed when the device 10 is not ready to perform an operation. Finally, the housing 12 includes an opening through which a radio antenna 36 extends.

A serial data port 39 extends through an opening in the gripping portion 14. The port 39 permits downloading of data stored in a memory within the device 10. The interior region of the housing 12 supports the imaging assembly 18 and other electronic circuitry to be described below.

Configuration and Operation of the Modular Camera Assembly 20

FIGS. 3-5 show perspective, side elevation, and exploded perspective views of the modular camera assembly 20 of the imaging assembly 18. It can be seen that the modular camera assembly 20 includes a housing 40 which supports an illumination assembly 42 and a camera assembly 38. The camera assembly 38 includes a two dimensional photosensor array 48 mounted on a surface 56 of a printed circuit board 54. The printed circuit board 54 and another printed circuit board 52 support camera circuitry that, when actuated, generates selected pixel data (shown schematically in FIG. 8). The modular camera assembly 20 includes a lens array 43 which focuses multiple images of a dataform within the imaging target area 44, as obtained along respective optical paths with different best focus lengths, onto respective regions of a 2D photosensor array 48 (shown schematically in FIG. 7 as discussed more fully below). Specifically, reflected light from the imaging target area 44 is focused by the lens array 43 as separate images onto different respective regions of an outwardly facing, light receiving surface 48 b of the photosensor array 48. The photosensor array 48 is part of a surface mounted integrated circuit (IC) chip 48 a.

Structure of Photosensor Array 48

The photosensor array light receiving surface 48 b includes an array of 2048×2048 pixels each of which are selectively addressable. An exemplary photosensor array 48 for use in accordance with the present invention is Image Sensor Model FUGA22 which is commercially available from Imec, located in Leuven, Belgium.

Imaging Target Area 44 of Board Camera Assembly 38

The imaging target area 44 (FIG. 3) is defined by a field of view of the board camera assembly 38 and is represented in FIG. 3 by the dimensions labeled “H” (for height of imaging target area 44) and “W” (for width of the imaging target area 44). The illumination assembly 42 as shown in FIG. 5 includes four illumination optic portions 66 a, 66 b, 66 c, and 66 d (LED arrays) which project a uniform intensity distribution of illumination through corresponding illumination directing or illumination focusing elements 70 a-70 d across the imaging target area 44. The illumination assembly 42 also includes a targeting arrangement including targeting LEDs 64 a, 64 b, which, when energized, project illumination through first and second targeting optics 72 a, 74 a thereby generating a crosshair targeting illumination pattern to aid in aiming the device 10. To avoid image distortion, the targeting pattern is turned off by the imaging assembly 18 when the image frames of the imaging target area 44 are being captured.

Additional details regarding a suitable illumination assembly 42 can be found in commonly assigned U.S. Pat. No. 5,992,753, application Ser. No. 08/961,096, entitled “Hand Held Dataform Reader Utilizing Binarization Process for Dataform and Signature Area Capture”, filed on Oct. 29, 1997, the disclosure of which is incorporated herein by reference.

The imaging assembly 18 is capable of decoding a target dataform 45 a affixed to the item 46 as represented in FIG. 3. The target dataform 45 a may be a one dimensional bar code dataform such as Codabar, Code 39, Code 93, Code 128, Interleaved 2 of 5, and UPC/EAN; a two dimensional bar code dataform such as PDF417 and SuperCode; or a matrix dataform such as MaxiCode and DataMatrix.

Modular Camera Assembly Housing 40

As is shown in FIGS. 3-5, the housing 40 includes an upper portion 140 and a symmetrical lower portion 142. The upper and lower portions 140, 142 are advantageously identically shaped and positioned symmetrically about a part line 144 and define an interior region 146 (FIG. 5) in which components of the modular camera assembly 20 are supported. Since the upper and lower portions 140, 142 are symmetrical, only the construction of the lower portion 142 will be discussed with the understanding that the same construction and features are present in the mating upper portion 140.

As can best be seen in FIG. 5, the housing lower portion 142 includes a substantially flat base 150 and three side walls 152, 154, 156 extending perpendicularly from the base 150. An inner surface of the side wall 152 includes two spaced apart slots 160 a, 162 a extending from an upper edge 164 of the housing lower portion 142 defined by the side walls 152, 154, 156 to an inner surface 166 of the base 150. Similarly, an inner surface of the side wall 156 includes matching spaced apart slots 160 b, 162 b extending from the upper edge 164 of the housing lower portion 142 to the inner surface 166 of the base 150.

The modular camera assembly 20 includes circuitry mounted on a set of two parallel, spaced apart rear and front printed circuit boards 52, 54 affixed to a spacer element 55. The slots 162 a, 162 b receive and securely hold the rear printed circuit board 52 while the slots 160 a, 160 b receive the front printed circuit board 54. Mounted on a front surface 56 of the front printed circuit board 54 is the 2D photosensor array IC chip 48 a. The lens array 43 must be precisely aligned with the photosensor array 48 to insure proper imaging of the imaging target area 44 as is discussed below in connection with FIGS. 6, 6A and 7.

The housing lower portion 142 also includes first and second supports 172, 182 extending upwardly from a slightly raised portion of the base 150. The first support 172 includes a central portion 174 with rectangular recess flanked by two outerlying portions 175 a, 175 b having small semicircular recesses. The central portion 174 supports a lower half of a square main body 58 of the lens array 43. The two smaller outerlying portions support respective targeting light emitting diodes 73 a, 73 b of the illumination assembly 42. The targeting LEDs 64 a, 64 b are cylindrically shaped and include enlarged diameter base portions 65 a, 65 b which fit into inwardly stepped semicircular recesses 176 a, 176 b of the outerlying portions 175 a, 175 b. A first end portion 183 of the second support 182 includes a rectangular recess which supports the main body 58. Just inward of the end portion 183 is a portion 184 defining another rectangular recess having a slightly larger width than the recess of the end portion 183. The portion 184 is sized to receive an outwardly flared end portion 58 a of the main body 58 and thereby position it precisely with respect to the photosensor array 48. The outwardly flared end portion 58 a of the main body 58 includes two small cut out portions 59 c (only one of which can be seen in FIG. 9). One of the cut out portions 59 c fits onto a raised nub of the rectangular shaped portion 184 to prevent the main body 58 from shifting within the housing 40. The other cut out portion 59 c, of course, fits onto an identical nub (not shown) of the upper housing portion 140 which is identical in shape and configuration to the lower housing portion 142.

Additional details regarding the housing 40 are found in the aforementioned U.S. Pat. No. 5,992,753, application Ser. No. 08/961,096, entitled “Hand Held Dataform Reader Utilizing Binarization Process for Dataform and Signature Area Capture”. The housing described in such application is virtually identical to the housing in the present application with the exception of the recesses formed to support the square shaped main body 58.

Lens Assembly 43

Referring to FIGS. 6 and 6A, a cross sectional view and front view of the lens array 43 are respectively shown. In the exemplary embodiment, the lens array 43 is made up of the main body 58 supporting four separate lens assemblies LA1, LA2, LA3 and LA4. The front face 58 b of the main body 58 is square and is divided nominally into four separate quadrants. Centered in each quadrant is a corresponding lens assembly LA1-LA4, each of which are directed towards the target dataform 45 a during a read dataform operation.

Each lens assembly LA1-LA4 has a corresponding optical axis OA1-OA4 which extends outwardly from the optical device 10 towards the target dataform 45 a. These optical axes OA1-OA4 may be substantially parallel for lens systems designed to be focused relatively far away, but may be directed generally inwardly towards a geometric center axis for lens systems focused relatively close in. When the device 10 is pointed at the target dataform 45 a, each lens assembly LA1-LA4 is designed to form an image of the target dataform 45 a onto a respective quadrant of the photosensor array 48. In this manner, four different images of the target dataform 45 a are formed simultaneously on the photosensor array 48.

The main body 58 is made of light weight metal, plastic, or the like, and has a front section 58 c having threaded bores 58 d therethrough along the optical axis of each corresponding lens assembly. The threaded bores 58 d are designed to receive the respective lens assemblies. A stop 58 e is included at the base of each bore 58 d to prevent the respective lens assembly from being screwed in too far so as to potentially damage the interior optics/photosensor array 48.

Describing lens assembly LA1 in detail, the lens assembly includes a cylindrical shroud 57 which houses lenses L1, L2, L3, L4 and a spacer member SP1 with a small central aperture A1 (e.g., 1.17 mm. in diameter). The outer surface of the shroud 57 is threaded, and the diameter of the shroud 57 is such that the shroud 57 may be theadedly engaged with the bores in the main body 58. By screwing the lens assembly LA1 inward or outward, the distance between the photosensor array 48 and the various lenses L1-L4 can be adjusted. This allows each of the lens assemblies LA1-LA4 to be set at a slightly different distance from the array 48. As will be appreciated, this results in each of the lens assemblies LA1-LA4 having a different best focus length at which the target dataform 45 b will be optimally focused. Preferably the lens assembly LA1-LA4 designed to have a longer best focus length is also designed to have a narrower field of view as compared to another lens assembly LA1-LA4 designed to have a shorter best focus length. For example, FIG. 6 illustrates lens assembly LA2 having a longer best focus distance than lens assembly LA1, with lens assembly LA2 having a field of view θ₂ and lens assembly LA1 having a field of view θ₁, where θ₂>θ₁. By utilizing a lens assembly with a narrower field of view, dataforms located a further distance from the device 10 will still tend to be imaged onto a comparable area of the photosensor array 48.

Included at the base of each bore 58 d is a prism PR which serves to redirect the optical axis OA of the respective lens assembly LA1-LA4 to the center of a corresponding quadrant in the photosensor array 48. For example, FIG. 7 illustrates how the photosensor array 48 may be nominally sectioned into four separate quadrants. Each quadrant comprises 1024×1024 pixels. The optical axes OA1-OA4 of each of the respective lens assemblies LA1-LA4 are directed by a prism PR towards a corresponding center of one of the quadrants on the photosensor array 48 as represented in FIG. 7.

A lens L5 is supported by an upper surface of the photosensor array 48. Thus, independent of the prism PR there are eleven optic surfaces (including the portion of the spacer member SP1 defining the aperture A1) labeled 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110 in the lens assembly LA1. The lens assembly LA1 also includes a lock nut 59 a. The lock nut 59 a includes internal threads which thread onto external threads of the shroud 57 in order to lock the shroud 57 in a desired position.

Each of the other lens assemblies LA2-LA4 have similar configurations to that of lens assembly LA1 so additional detail will be omitted. The primary difference is that the placement of each lens assembly along its optical axis relative to the photosensor array 48 and/or the selection of the lenses included in each assembly is designed such that the corresponding best focus lengths for forming an image of the target dataform 45 a on the photosensor 48 a are different. The main body 58 includes a vertical partition 58 f and horizontal partition 58 g for reducing crosstalk amongst light from the different quadrants/lens assemblies LA1-LA4.

Each lens assembly LA1-LA4 is designed to have an acceptable range in which it can successfully image the target dataform 45 b with sufficient focus to be decoded. Such range is defined by distances S1n and S3n, with optimum focus occurring at S2n, where n=1 to 4 for the respective lens assemblies. Ideally, the ranges S1n to S3n for the respective lens assemblies LA1-LA4 overlap to form a continuos range up to several feet long over which at least one of the lens assemblies LA1-LA4 can image the target dataform 45 a a given distance away onto the photosensor array 48 with sufficient focus to permit decoding. Also, the provision of multiple assemblies LA1-LA4 permits the respective apertures A1 in the assemblies to be larger. This means that more light is received by the respective assemblies, allowing for a reduction in power used for illumination of the target dataform 45 a.

The lock nuts 59 a facilitate precise positioning of the lenses L1, L2, L3, L4 with respect to each of the lens assemblies LA1-LA4 with respect to the longitudinal displacement of the lenses along their optical axis OA1-OA4. The precise positioning of the lenses L1, L2, L3, L4, L5 with respect to the photosensor array 48 permits the sharpest possible image of the target dataform 45 a or target signature area 45 b to be directed on the center point of the respective quadrant on the light receiving surface of the photosensor array 48.

The particular dimensions, focal lengths, etc. of the individual lenses in each lens assembly LA1-LA4 will of course depend on the desired best focus distance, suitable range, field of view, etc., as well as the size of the photosensor as will be appreciated. It will be apparent based on the disclosure herein to those having ordinary skill in the art how to make the lens assemblies LA1-LA4 with the appropriate optical properties. Accordingly, further detail is omitted.

Illumination Assembly 42

Additional details regarding the illumination assembly 42 can be found in the aforementioned U.S. Pat. No. 5,992,753, application Ser. No. 08/961,096, entitled “Hand held Dataform Reader Utilizing Binarization Process for Dataform and Signature Area Capture”, filed on Oct. 29, 1997, the disclosure of which have been incorporated herein by reference.

Image Processing

FIG. 8 represents a block diagram of the data collection device 10. A microprocessor 200 controls the various operations and performs image analyses in decoding a target dataform as is described more fully below. The microprocessor 200 is programmed to carry out the various control and processing functions using conventional programming techniques. A person having ordinary skill in the art will be able to program such operations based on the disclosure herein without undue effort. Hence, additional detail is omitted for sake of brevity.

The microprocessor 200 is coupled to an address generator 202, via a local bus 208, which is designed to output a sequence of pixel addresses corresponding to a star pattern in each quadrant of the photosensor array 48 as is discussed more fully below in association with FIG. 10. The microprocessor 200 is programmed to provide a quadrant select/bypass control signal to the address generator via a control bus 205. Based on the quadrant select/bypass control signal, the microprocessor 200 selects for which quadrant the address generator 202 generates pixel addresses in accordance with a predefined pattern (e.g., a star pattern). The addresses are provided from the address generator 202 to the photosensor array 48 via an address bus 206. The photosensor array 48 provides, as its output data, pixel data on data bus 207 which corresponds to the address provided on bus 206. The address generator 202 in turn provides the pixel data to the microprocessor 200 via bus 208. Data may therefore be collected from the photosensor array 48 substantially in real time according to a predefined pattern in each quadrant. The gate array address generator 202 provides a high speed means for selectively generating the addresses according to a predefined pattern (e.g., a star pattern) in each quadrant as discussed below. This allows the microprocessor 200 to engage in other computations with the received pixel data so as to increase the overall speed of the device 10, although in another embodiment all addressing may be handled by the microprocessor 200 itself.

The microprocessor 200 also is configured to provide a control signal to the address generator 202 on the control bus 205 which causes the address generator 202 to be bypassed. This allows the microprocessor 200 to provide pixel addresses directly to the photosensor array 48 via the local bus 208 during image processing as is discussed below. Also, pixel data from the photosensor array 48 is provided directly to the microprocessor 200 via the bus 208.

In order to carry out a dataform reading operation, the operator points the lens array 43 towards the target dataform. The operator then depresses the dataform reading trigger 26 having an output connected to a dataform read trigger circuit 204. The dataform read trigger circuit 204 generates an interrupt signal which is provided to the microprocessor 200 indicating the initiation of a dataform reading operation. The microprocessor 200 communicates with the address generator 202 via the control bus 205 which causes the address generator 202 to begin generating addresses for the predefined pixel pattern in a specified quadrant (e.g., quadrant I). As was described more fully above, each of the lens assemblies LA1-LA4 forms an image of the target dataform in a respective quadrant of the photosensor array 48. Each of the lens assemblies LA1-LA4 is configured so as to exhibit a different best focus distance. Thus, depending on the respective ranges suitable focus of each of the lens assemblies LA1-LA4, ideally at least one of the images formed in a respective quadrant in the photosensor array 48 will be within suitable focus while the images formed in other quadrants may not.

The address generator 202 continuously outputs the same sequence of pattern addresses for the quadrant specified by the microprocessor 200. In particular, the address generator 202 accesses the pixel data taken among pixels falling on radial sample lines (the star pattern) extending from the center of the specified quadrant as represented in FIG. 10. Such radially extending lines are selected so as to cover the expected area in which the image of the target dataform is to appear.

The image data from the photosensor array 48 consists of digital data indicative of the instantenous illumination or the pixel. In the exemplary embodiment, it is assumed that the target dataform 45 b is made up of a series of black and white bars/spaces, dots, blocks, or the like. The photosensor array 48 includes an analog to digital (A/D) converter 210 therein for converting analog pixel data obtained from the addressed pixels to digital pixel data. The A/D converter 210 has adjustable gain which may be adjusted via a gain adjust control signal provided on line 211 from the microprocessor 200. The digitized pixel data from the photosensor array 48 is provided via the address generator 202 to the microprocessor 200. The microprocessor 200 evaluates the range of the acquired pixel data on-the-fly to see if the full range of the A/D converter 210 is utilized. If not, the microprocessor 200 adjusts the gain of the input to the A/D converter 210 and reacquires the image data along the radial lines of the selected quadrant from the photosensor array 48. Each time the microprocessor 200 acquires the respective pixel data values from the selected quadrant at a particular gain level, the microprocessor 200 generates a histogram of the pixel data for the selected quadrant as is discussed below. Upon achieving a satisfactory gain setting for the A/D converter 210 for full dynamic range, the microprocessor 200 stores in memory 216 the particular gain setting for utilizing the full range of the A/D converter 210 for the selected quadrant. In addition, the microprocessor 200 stores the relevant histogram parameters (discussed below) for the star pattern pixel data obtained from the selected quadrant at the particular gain setting. The same procedure is then repeated for each of the other quadrants until respective full range gain settings and respective histogram parameters are obtained and stored in the memory 216 for all of the quadrants.

It will be appreciated that due to the processing speed of the microprocessor 200 and the addressing by the address generator 202, the above processing of the image data provided by each of the lens arrays LA1-LA4 takes place substantially instantaneously from the perspective of the operator upon the trigger 26 being activated. Also, because the device 10 does not store the full set of image data from all of the quadrants, the memory 216 need not be particularly large; nor is there large access times associated with acquiring of all the pixel data from the 2048×2048 array.

Upon receiving the histogram data from each of the respective quadrants at the appropriate gain, the microprocessor 200 then proceeds to determine which quadrant exhibits the image with the best focus. Referring to FIG. 10, each quadrant I-IV of the photosensor 48 corresponds respectively to the image formed by the lens assemblies LA1-LA4. As generally described above, for each quadrant I-IV the microprocessor 200 histogram forms a histogram from the star pattern pixel data (FIG. 10) as represented in FIG. 11. The vertical axis of the histogram represents the number of pixels from the radial sample lines in the respective quadrant. The horizontal axis of the histogram represents the gray scale value of the pixels ranging from full white to full black.

Assuming the target dataform 45 a consists of a plurality of sharp transitions between black and white (as in the case of a bar code symbol, for example), a well focused image of the target dataform will exhibit peaks near the full white and full black regions on the histogram, with a null in between as exhibited by line 212 in FIG. 11. On the other hand, a poorly focused image of the target dataform will exhibit much higher content in the intermediate gray scale values with nulls towards the full white and full black regions as represented by line 214.

The microprocessor 200 is programmed to evaluate the histogram for each of the respective quadrants to determine which exhibits the best focused image (i.e., the sharpest null in the region between full white and full black in the histogram). Based on such evaluation, the microprocessor 200 selects the quadrant I-IV exhibiting the best focus for further processing.

Specifically, the microprocessor 200 then bypasses the address generator 202 and directly accesses the image data for the selected quadrant from the photosensor array 48. The microprocessor 200 adjusts the gain of the A/D converted 210 to be that which was associated with the selected quadrant as stored in the memory 216. The microprocessor 200 then proceeds to decode the image of the target dataform included in the selected quadrant. The particular decoding scheme may be any conventional scheme. Alternatively, the decoding may be carried out in accordance with the techniques described in the aforementioned U.S. Pat. No. 5,992,753, application Ser. No. 08/961,096, entitled “Hand Held Dataform Reader Utilizing Binarization Process for Dataform and Signature Area Capture”; application U.S. Ser. No. 08/438,889, filed on May 10, 1995, and entitled Oblique Access to Image Data for Reading Dataforms; or U.S. Ser. No. 08/543,122, filed on Oct. 13, 1995, and entitled “Sub Pixel Dataform Reader with Dynamic Noise Margins”. The disclosure of all of the patent application mentioned herein are incorporated by reference.

As an example, the microprocessor 200 identifies the boundaries of the target dataform in the selected quadrant using techniques described in one or more of the above applications as represented in FIG. 12. Thereafter, the image data within the boundaries is processed in order to obtain the decoded information.

The microprocessor 200 then transmits the decoded dataform information to the serial port 39 via a serial I/O circuit 220. The serial port 39 may be connected to a data terminal or the like. In addition, or in the alternative, the microprocessor 202 provides the decoded information to a radio module 222 included within the device housing 12. The radio module 222 proceeds to transmit the decoded information wirelessly via the antenna 36 to a base station in a wireless network, for example.

Additionally, the microprocessor 200 is coupled to the illumination assembly via power circuitry 226 which enables the microprocessor 200 to control the illumination assembly 42 to provide general illumination and targeting during operation. Finally, it is noted that the microprocessor 200 is coupled to the LED 32 to adjust its color state to exhibit the current mode of operation as mentioned above.

FIG. 9 is a flowchart summarizing the above-discussed steps in carrying out a dataform reading operation. In step S1, the microprocessor 200 determines if the dataform reading trigger 26 has been activated. If no, the microprocessor continues to loop through step S1. If yes in step S1, the microprocessor 200 in step S2 activates the address generator 202 by identifying the first quadrant (e.g., quadrant I) and by providing an initial gain value to the A/D converter 210. Next, in step S3 the address generator 202 generates addresses for the pixels in the specified quadrant falling along the predefined sample lines (FIG. 10), and the microprocessor 200 in turn reads the pixel data from the photosensor array 48 and constructs a histogram for the pixel data on the same lines. Following step S3, the microprocessor 200 in step S4 determines if the gain for the A/D converter 210 is set properly for full range. Such step may be carried out by comparing the maximum and minimum pixel data values in relation to the known range of the A/D converter 210. If the gain is not sufficiently full range, the microprocessor 200 proceeds to step S5 in which it adjusts the gain. The microprocessor 200 then returns to step S3 where the data is reread from the photosensor array 48 with the new gain.

Steps S3-S5 are repeated for each of the quadrants until the appropriate gain setting and corresponding histogram for each quadrant is obtained. The microprocessor 200 then proceeds to step S6 in which the quadrant exhibiting the sharpest or best focused image is selected based on the aforementioned histograms. Following step S6, the image data for the selected quadrant is then analyzed by the microprocessor 200 and decoded in step S7.

It will therefore be appreciated that the use of multiple lens assemblies LA1-LA4 with different best focus lengths allows for the simultaneous formation of multiple images of the target dataform. The multiple images can then be analyzed to determine which provides the best focus, and the image exhibiting the best focus is then selected and decoded. Hence, the range of device 10 is extended substantially.

Although the lens array 43 has been described herein as having four different lens assemblies LA1-LA4, it will be appreciated that a different number of lens assemblies could be utilized depending on desired range, size constraints, etc. Also, in another embodiment, a single lens assembly combined with one or more optical beam splitters and mirrors for forming multiple images of the target dataform directed at different portions of the photosensor array along optical paths of different lengths may be used. The optical path lengths are adjusted such that the best focus length for each of the various images is different.

Alternative Embodiment

Turning now to FIG. 13, an alternative embodiment of the present invention is depicted in which a reader module 300 includes an optical element 302 for focusing an image of a target dataform 45 a onto each of separate rectangular regions 305 a, 305 b, 305 c of the 2D photosensor array 48. The reader module 300 may, for example, be used in place of the modular camera assembly 20 and lens array 43 described above. Similar to that discussed above, the optical element 302 includes a plurality of lenses which each have a different best focus length thereby providing for greater imaging range. By focusing respective images of the target dataform 45 a onto separate rectangular regions 305 a, 305 b, 305 c it is possible to read target dataforms 45 a having wider codes with a high degree of resolution. Further, the reader module 300 of the present embodiment includes a laser 325 for illuminating the target dataform 45 a during a read operation. Of course, various other illuminating devices such as light emitting diodes, etc. could alternatively be used. A holographic element 330 provided between the laser 325 and the target dataform 45 a serves to spread a laser beam 340 across a field of view.

The reader module 300 of the present embodiment includes a horizontal printed circuit board 307, a vertical printed circuit board 309, and a housing 310 for encasing the various components of the reader module 300. The photosensitive array 48 is mounted to the vertical printed circuit board 309 and serves to capture images from the optical elements 302 in each of the respective rectangular regions 305 a, 305 b, 305 c (hereinafter collectively referred to as rectangular regions 305). The photosensitive array 48 of the present embodiment has a total of 640×480 pixel image capture area. Each of the three rectangular regions 305 of the photosensitive array 48 covers approximately 640 pixels in a horizontal direction and 160 pixels in a vertical direction. Accordingly, as can be seen from FIG. 13, the rectangular regions 305 each have a width substantially equal to a width of the photosensor array 48. In the present embodiment, the photosensitive array 48 is a CMOS array such as the PB-300 imager commercially available from Photobit of Pasadena, Calif. The CMOS array provides various benefits over CCD technology in that CMOS, for example, utilizes less power, provides fewer image artifacts, and includes an onboard A/D converter.

The laser 325 is also coupled to the vertical circuit board 309 adjacent the photosensitive array 48. The holographic element 330 is mounted to the housing 310 directly in front of the laser 325 thereby allowing the laser light from the laser 325 to be spread into the laser beam 340 and illuminate the target dataform 45 a. In the present embodiment, the holographic element 330 spreads the laser light at an angle of 30° in a horizontal direction and 2.54° in a vertical direction. By spreading the laser light 30° in the horizontal direction and 2.54° in the vertical direction, the laser beam 340 incident on the target dataform 45 a at an approximate distance of five inches from the reader module 300 is able to illuminate a rectangular region 342 on the target dataform 45 a of approximately 0.22 inches vertically, and 2.89 inches horizontally. In the present embodiment, the laser 325 produces red laser light although light of various other frequencies and corresponding colors could alternatively be used. The laser 325 may, for example, be a 650 nm laser commercially available from RPC Corporation of Rochester, N.Y.

Continuing to refer to FIG. 13, the optical element 302 is mounted within a front portion of the housing 310 and is substantially aligned with the photosensitive array 48 so that light reflected from the target dataform 45 a and incident on the optical element 302 is directed onto each of the rectangular regions 305 of the photosensitive array 48.

In the present embodiment, the optical element 302 includes a set of three lenses 350 a, 350 b, 350 c (collectively referred to as lenses 350) formed on a single substrate 360. The substrate 360 is preferably made of polycarbonate plastic which is well suited for providing high quality optical lens characteristics, although other suitable materials could alternatively be used. In the present embodiment, the lens 350 a is a singlet lens having a focal length of 8.4 mm, a speed of F/10, and a field of view of 28°, lens 350 b is a singlet lens having a focal length of 10.6 mm, a speed of F/10, and a field of view of 24°, and lens 350 c is a doublet lens having a focal length of 14.8 mm, a speed of F/10, and a field of view of 15°. Each of the lenses 350 a, 350 b, and 350 c is further configured to provide a horizontal field of view on the photosensitive array 48 of 5.18 mm. The manner in which the lenses 350 are individually formed onto the substrate 360 is known in the art and therefore further details related thereto are omitted for sake of brevity. Because all of the lenses 350 are formed on a single substrate 360, the collection of lenses 350 are easy to handle and mount to the housing 310 of the reader module 300. While exemplary prescriptions for the lenses 350 have been provided for the present embodiment, it will be appreciated that lenses of various different prescriptions could alternatively be used.

As shown in FIG. 14, in addition to the lenses 350, the optical element 302 further includes an aperture plate 360 and a red filter 370. The aperture plate 360 is situated in front of the lenses 350 and includes three circular apertures 375 a, 375 b, 375 c, one for each lens 350 a, 350 b, 350 c. The apertures 375 a, 375 b, 375 c serve to control the amount of light reaching the lenses so as to provide a desirable depth of field and focus characteristics. The red filter 370 is situated in front of the aperture plate 360 and serves to pass light in the red frequency zone such as that produced by the laser 325. By using the red filter 370, higher quality image resolution of the target dataform 45 a is obtained since the light reaching the photosensitive array 48 is substantially limited to the reflected light produced by the laser 325. Of course, various other filters could alternative be used depending on the light source used to illuminate the target dataform 45 a.

Turning now to FIG. 15, a range chart is shown depicting the field of view and range for each of the three lenses 550 a, 550 b, 550 c in the present embodiment. In particular, the field of view for lens 550 a is shown as FOV1, the field of view for lens 550 b is shown as FOV2, and the field of view for lens 550 c is shown as FOV3. As can be seen from FIG. 15, FOV3 is greater than FOV2 which, in turn, is greater than FOV1. Further, the range for lens 550 a is shown as R1, the range of lens 550 b is shown as R2, and the range of lens 550 c is shown as R3. As can also be seen from FIG. 15, R3 is greater than R2 which, in turn, is greater than R1. Accordingly, by using three lenses 550 of the type depicted herein it is possible to image dataforms of various distances from the reader module 300 without having to substantially re-orient or reposition of the reader module 300 itself.

In operation, prior to reading a target dataform 45 a, the present embodiment of the invention provides for calibrating the photodetector array 48 in order to account for possible misalignment between the laser 325 and the optics 302 and/or photodetector array 305. In order to calibrate and correct for misalignment, the present embodiment of the invention calls for illuminating the target dataform 45 a using the laser beam 340 and measuring a vertical illumination pattern along two or more columns of pixels of the photosensor array 48 as discussed below. Since the illumination intensity along one column of pixels is compared with the illumination intensity along at least one other column of pixels, it is preferable that each column of pixels to be compared represent images of similarly shaded portions of the target dataform 45 a. For example, in the present embodiment, the columns of pixels are sampled until at least two spaced apart columns which each correspond to “white” regions on the target dataform 45 a are found. Alternatively, of course, it is possible to select at least two columns which each correspond to “black” regions on the target dataform 45 a. The time at which the target dataform 45 a is illuminated for such calibration may be incorporated into the time the dataform 45 a is to be illuminated to accomplish a normal read operation or, alternatively, the target dataform 45 a may be illuminated during a separate pre-read operation.

As discussed above, when illuminating the target dataform 45 a, the present embodiment utilizes a laser beam 340 having a rectangular region 342 of approximately 640×160 pixels in dimension. The calibration step allows for selection of a row which provides the strongest signal for image processing. In particular, as shown in FIGS. 16a-16 b, during the calibration stage, the microprocessor 200 initially takes a sample of the voltages for each pixel in a first preselected column such as, for example, column C1. The voltages for each pixel in the column C1 is then analyzed to determine which pixel in each of the three rectangular regions 305 provides the best signal. In the present example, the best signal for column C1 is provided by pixel P1 in the rectangular region 305 a, pixel P2 in the rectangular region 305 b and pixel P3 in rectangular region 305 c. Next, the microprocessor 200 takes a similar sample along a second column C2 which is at a spaced apart distance from the first column C1. In the present example, the best signal for column C2 is provided by pixel P4 in rectangular region 305 a, pixel P5 in rectangular region 305 b, and pixel P6 in rectangular region 305 c. Using such data, the microprocessor 200 defines a central row providing the greatest signal strength for rectangular region 305 a to follow a line passing through pixel P1 and P4, a central row for rectangular region 305 b to follow a line passing through pixel P2 and P5, and a central row for a rectangular region 305 c to follow a line passing through pixel P3 and P6. Accordingly, using such calibration information, the microprocessor 200 is able to adjust for possible variations which may have occurred due to misalignments by defining rows to correspond to those rows providing the strongest signal.

Turning now to FIGS. 17a-17 b, in addition to calibration, the present embodiment of the invention also allows for roll processing during reading of a target dataform 45 a in order to account for variations between an angular direction of the reading module 300 with respect to the target dataform 45 a being read. The roll processing routine of the present embodiment calls for grouping information from a preselected number of adjacent row (together prior to adding the signals from a given column to determine if a column of data represents, for example, black or white data. By grouping adjacent rows together and comparing the results, it is possible for the microprocessor 200 to analyze hand roll movements and adjust for the same. Further, information from many adjacent rows can be averaged together to improve the signal to noise ratio and readability of the dataform 48 a even during hand roll motion. For example, by averaging, it is possible to more accurately decode scratched, dirty, damaged, wrinkled, or badly printed target dataforms 48 a. The roll processing routine also allows better immunity to dirt on the lens and photosensor array 48 thereby reducing assembly costs of clean-rooms and the like.

For example, turning to FIG. 17a, it is shown how analyzing rows in groups of four can be used to detect and account for a 30° hand roll during a read operation. More particularly, the voltage level detected on the photosensor array 48 for each group (e.g. groups A, B, C, and D) is initially shifted out of the photosensor array 48 a in columns from left to right, and the accumulated voltage for each column is plotted as shown in FIG. 17b. As can be seen from FIG. 17b, the 30° hand roll has caused an offset X between each successive group A, B, C ,D reaching the dark regions 400 of the target dataform 45 a. Accordingly, prior to calculating the signal for a given column, the microprocessor 200 is configured to analyze the output of the various groups A, B, C, and D and shift the output from each group to a common reference point prior to adding the signals in a given column for a read operation. For example, in the present instance, the microprocessor 200 is configured to shift the output from group B by −X, the output from group C by −2X, and the output from group D by −3X prior to adding the results from each group to determine a given regions corresponds to a dark or light region. In this manner, hand rolls, such as the 300 hand roll depicted in the present example can be taken into account prior to analyzing data read from the target dataform 45 a. It will be appreciated that while the present example provides for grouping the rows into groups of four, it is possible to conduct such analysis using groups having fewer or more lines.

Turning now to FIG. 18, a flowchart is provided showing a summary of the various steps involved with respect to the present embodiment of the invention. In step 425, the microprocessor 200 determines if the dataform reading trigger 26 has been activated. If no, the microprocessor continues to loop through step 425. If yes in step 425, the microprocessor 200 in step 430 activates the laser 325 and photosensor array 48 in order to read the target dataform 45 a. As discussed above, in reading the target dataform 45 a, the lenses 350 a, 350 b, and 440 the microprocessor 200 optionally performs a calibration step in order to account for misalignments between the laser 325 and optics 302 and/or photosensor array 48 as discussed above with respect to FIGS. 16a-16 b. Following step 435, the microprocessor 200 proceeds to step 445 where the microcprocessor collects the data from each of the pixels in each region of the photosensor array 48 and adjusts for hand roll as discussed above with respect to FIGS. 17a-17 b. Following collection and adjustment of data, the microcprocessor 200 proceeds to step 450 where the microcprocessor 200 selects the region 305 a, 305 b, 305 c with the sharpest image. For example, the region with the sharpest image may be selected based on the region providing the greatest consistent variations in voltage between regions corresponding to light and dark areas of the target dataform 45 a as determined using, for example, a histogram (FIG. 12). Concurrently with steps 440-450, the microprocessor 200 in step 455 services interrupts which direct the mircoprocessor 200 to provides the selected data to a decoder module for decoding of the data sensed by the photosensor array 48 during the read cycle. Next, in step 460, the microprocessor 200 determines whether the signal to read a dataform is still asserted. For example, the signal to read a dataform may be asserted if a user maintains depression a trigger 26 of the data collection device. If the signal is still asserted the microprocessor 200 returns to step 435 and continues to read and analyze the captured images. If the signal is not asserted, the microprocessor 200 ends its routine.

While the description has described the currently preferred embodiments of the invention, those skilled in the art will recognize that other modifications may be made without departing from the invention and it is intended to claim all modifications and variations as fall within the scope of the invention.

In compliance with the statute, the invention has been described in language more or less specific as to structural and methodical features. It is to be understood, however, that the invention is not limited to the specific features shown and described, since the means herein disclose comprise preferred forms of putting the invention into effect. The invention is, therefore, claimed in any of its forms or modifications within the proper scope of the appended claims appropriately interpreted in accordance with the doctrine of equivalents. 

What is claimed is:
 1. A dataform reading module, comprising: a 2D photosensor array; a first optic for focusing a first image representing a target dataform onto a first portion of the array, the first optic having a first best focus length; a second optic for focusing a second image representing the target dataform onto a second portion of the array, the second optic having a second best focus length different than the first best focus length, the first portion and the second portion having non-overlapping rectangular shapes on the array wherein the first portion and the second portion each have a width substantially equal to a width of the array; and an illuminating device for illuminating the target dataform.
 2. The dataform reading module of claim 1, wherein the illuminating device is a laser.
 3. The dataform reading module of claim 2, further comprising a holographic element positioned between the laser and the target dataform, the holographic element configured to spread laser light output from the laser into a spatial band.
 4. The dataform reading module of claim 3, wherein spatial band is substantially rectangular in shape.
 5. The data form reading module of claim 1, wherein the first and second optics are formed on a single substrate.
 6. The dataform reading module of claim 1, wherein the first image and the second image are obtained substantially simultaneously.
 7. The dataform reading module of claim 1, wherein the array is a CMOS array.
 8. The dataform reading module of claim 1, further comprising a third optic for focusing a third image representing the target dataform onto a third portion of the array, the third optic having a third best focus length different than the first best focus length and the second best focus length.
 9. The dataform reading module of claim 8, wherein the first image, second image and third image are obtained substantially simultaneously.
 10. A dataform reader for reading a dataform, comprising: a hand-portable sized housing; a reading module included within the housing, the reading module including: a 2D photosensor array; a first optic for focusing a first image representing a target dataform onto a first portion of the array, the first optic having a first best focus length; a second optic for focusing a second image representing the target dataform onto a second portion of the array, the second optic having a second best focus length different than the first best focus length; and an illuminating device for illuminating the target dataform; wherein the first portion and the second portion having non-overlapping rectangular shapes on the array and the first portion and the second portion each have a width substantially equal to a width of the array; and means within the housing for selecting between the first image and the second image in accordance with a predefined focus criteria.
 11. The dataform reading module of claim 10, wherein the illuminating device is a laser.
 12. The dataform reading module of claim 11, further comprising a holographic element positioned between the laser and the target dataform, the holographic element configured to spread laser light output from the laser into a narrow region.
 13. The dataform reading module of claim 10, wherein the first image and the second image are obtained substantially simultaneously.
 14. A method for reading a dataform using a dataform reading module, comprising the steps of: forming a first image of the dataform on a first portion of a photosensor array, the first image formed from an optic having a first best focus length from the image assembly; forming a second image of the dataform on a second portion of the photosensor array, the second image formed from an optic having a second best focus length from the image assembly which is different than the first best focus length, the first portion and the second portion having non-overlapping rectangular shapes on the array and wherein the first portion and the second portion each have a width substantially equal to a width of the photosensor array; and selecting between the first image and the second image in accordance with a predefined focus criteria.
 15. The method of claim 14, wherein the first image and the second image are formed substantially simultaneously.
 16. The method of claim 14, wherein the step of forming the first image and the step of forming the second image includes the step of illuminating the dataform using a laser.
 17. The method of claim 16, wherein light from the laser is spread into a narrow beam across the dataform using a holographic element positioned between the laser and the dataform.
 18. The method of claim 14, further comprising the step of: preselecting a best focus row of the photosensor array for each of the first portion and the second portion.
 19. The method of claim 18, wherein the step of preselecting includes the steps of: sampling a signal level of pixels in at least two columns of the photosensor array; and selecting the best focus row for each of the first portion and the second portion based on the signal levels detected in the at least two columns. 